<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui"
      >

    <h:head>
        <title>Ajax com JSF 2.0</title>
        <style type="text/css">
            *{
                font-size: 12px !important;
            }
            #divVermelha{
                color: red; 
            }
            #bt1{
            }
            #bt2{
                position: relative;
                top: -31px;
                left: 65px;
                /*top: 158px;
                left: 90px;*/
            }
        </style>
    </h:head>

    <p:ajaxStatus onstart="statusDialog.show();" onsuccess="statusDialog.hide();"/>  
    <p:dialog modal="true" widgetVar="statusDialog" header="Status"  
              draggable="false" closable="false" >Processando...</p:dialog>

    <h:body onload="#{loginBean.validaUsuarioSessaoPaginas}">
        <p:panel id="painelExcessao" header="Cadastro de Excessão">
            <h:form id="formExcessao" >  
                <p:messages id="mensagensExcessao" />

                <h:panelGrid columns="2" width="285">  
                    <h:outputText  value="Doutor: *" />  
                    <p:selectOneMenu id="doutoresExcessao" value="#{excessaoBean.doutorSelecionado}" effect="fade"  disabled="#{excessaoBean.camposDesativados}">  
                        <f:selectItems value="#{excessaoBean.retornaDoutores}" var="doutor" itemLabel="#{doutor.nome}" itemValue="#{doutor.idDoutor}"/>  
                    </p:selectOneMenu> 
                    <h:outputText  value="Dia da Semana *" />  
                    <p:selectOneMenu id="dia_semanaExcessao" value="#{excessaoBean.dia_semana}" effect="fade"  disabled="#{excessaoBean.camposDesativados}">  
                        <f:selectItem itemLabel="Nenhum"  itemValue="" noSelectionOption="true" /> 
                        <f:selectItem itemLabel="Domingo" itemValue="Domingo" /> 
                        <f:selectItem itemLabel="Segunda-feira" itemValue="Segunda-feira"/>  
                        <f:selectItem itemLabel="Terça-feira" itemValue="Terça-feira"/> 
                        <f:selectItem itemLabel="Quarta-feira" itemValue="Quarta-feira"/> 
                        <f:selectItem itemLabel="Quinta-feira" itemValue="Quinta-feira"/> 
                        <f:selectItem itemLabel="Sexta-feira" itemValue="Sexta-feira"/> 
                        <f:selectItem itemLabel="Sábado" itemValue="Sábado"/> 


                    </p:selectOneMenu> 
                    <h:outputLabel for="dataAgendamento" value="Data: *" />  
                    <p:calendar value="#{excessaoBean.data}" id="dataExcessao" showOn="button" disabled="#{excessaoBean.camposDesativados}" /> 
                </h:panelGrid> 
                <h:panelGrid columns="2" width="325">  
                    <p:commandButton id="btPesquisarPorData" value="Pesquisar Horário" update=":formPesquisaHorarioExcessao"  disabled="#{excessaoBean.camposDesativados}" onclick="horarioDialog.show()"/>
                    <p:inputText id="horarioEscolhidoExcessao" value="#{excessaoBean.horarioEscolhido}" disabled="true"/> 
                </h:panelGrid> 
                <div id="bt1">
                    <p:commandButton id="btSalvarExcessao" value="Salvar" update="formExcessao, :formBotoesExcessao, :formPesquisaExcessao" actionListener="#{excessaoBean.salvar}" disabled="#{excessaoBean.salvarDesativado}"/>
                </div>

            </h:form>
            <div id="bt2">
                <h:form id="formBotoesExcessao">
                    <p:commandButton id="btNovoExcessao" update=":formExcessao, formBotoesExcessao" value="Novo" actionListener="#{excessaoBean.novo}" disabled="#{excessaoBean.novoDesativado}"/>  
                    <p:commandButton id="btEditarExcessao" update=":formExcessao, formBotoesExcessao" value="Editar" actionListener="#{excessaoBean.editar}" disabled="#{excessaoBean.editarDesativado}"/> 
                    <p:commandButton id="btExcluirExcessao" update=":formExcessao, formBotoesExcessao, :formPesquisaExcessao" value="Excluir" actionListener="#{excessaoBean.excluir}" disabled="#{excessaoBean.excluirDesativado}"/> 
                    <p:commandButton id="btCancelarExcessao" update=":formExcessao, formBotoesExcessao" value="Cancelar" actionListener="#{excessaoBean.cancelar}" disabled="#{excessaoBean.cancelarDesativado}"/>
                    <p:commandButton id="btPesquisarExcessao" update=":formExcessao, formBotoesExcessao, :formPesquisaExcessao" value="Pesquisar"  disabled="#{excessaoBean.pesquisarDesativado}" onclick="excessaoDialog.show()" type="button" />
                </h:form>
            </div>
        </p:panel>
        <p:dialog id="dialogHorarioExcessao" header="Horários" widgetVar="horarioDialog" resizable="false"  
                  width="500" height="400" showEffect="clip" hideEffect="fold"> 

            <h:form id="formPesquisaHorarioExcessao"> 
                <p:dataTable id="horarioDoutor" var="horarios" value="#{excessaoBean.retornaHorariosPorDoutor}"  rowKey="#{horarios}" scrollable="true" scrollHeight="300"
                             selection="#{excessaoBean.horarioEscolhido}" selectionMode="single" emptyMessage="Nenhum Horário disponível">  

                    <p:column headerText="Horários" width="425">  
                        #{horarios} 
                    </p:column>  

                    <f:facet name="footer">  
                        <p:commandButton id="viewButtonHorarioExcessao" value="OK" icon="ui-icon-search"  update=":formExcessao" onclick="horarioDialog.hide()" />  
                    </f:facet>  

                </p:dataTable> 

            </h:form>    
        </p:dialog>

        <p:dialog id="dialogExcessao" header="Excessões" widgetVar="excessaoDialog" resizable="false"  
                  width="800" height="400" showEffect="clip" hideEffect="fold"> 

            <h:form id="formPesquisaExcessao"> 
                <div id="divVermelha">
                <h:outputText style="" value="Não é possivel pesquisar por data e dia da semana ao mesmo tempo" />
                </div>
                <h:panelGrid columns="4" cellpadding="5">
                    <h:outputText  value="Doutor: *" />  
                    <p:selectOneMenu id="doutoresExcessaoSelecionado" value="#{excessaoBean.doutorSelecionadoExcessao}" effect="fade" >  
                        <f:selectItems value="#{excessaoBean.retornaDoutores}" var="doutor" itemLabel="#{doutor.nome}" itemValue="#{doutor.idDoutor}"/>  
                    </p:selectOneMenu> 
                    <h:outputText  value="Dia da Semana *" />  
                    <p:selectOneMenu id="diaPesquisasemanaExcessao" value="#{excessaoBean.diaSemana}" effect="fade">  
                        <f:selectItem itemLabel="Nenhum"  itemValue=""  /> 
                        <f:selectItem itemLabel="Domingo" itemValue="Domingo" /> 
                        <f:selectItem itemLabel="Segunda-feira" itemValue="Segunda-feira"/>  
                        <f:selectItem itemLabel="Terça-feira" itemValue="Terça-feira"/> 
                        <f:selectItem itemLabel="Quarta-feira" itemValue="Quarta-feira"/> 
                        <f:selectItem itemLabel="Quinta-feira" itemValue="Quinta-feira"/> 
                        <f:selectItem itemLabel="Sexta-feira" itemValue="Sexta-feira"/> 
                        <f:selectItem itemLabel="Sábado" itemValue="Sábado"/> 
                    </p:selectOneMenu> 

                </h:panelGrid>
                 <h:panelGrid columns="4" cellpadding="5">
                <h:outputLabel for="dataInicial" value="Data Inicial: *" />  
                <p:calendar value="#{excessaoBean.dataPesquisaInicial}" id="dataInicial" showOn="button" /> 
                <h:outputLabel for="dataFinal" value="Data Final: *" />  
                <p:calendar value="#{excessaoBean.dataPesquisaFinal}" id="dataFinal" showOn="button" /> 
                </h:panelGrid>
                <h:panelGrid columns="4" cellpadding="5">
                    <h:outputText value="Horário Inicial" />
                    <p:calendar label="Horário Inicial" value="#{excessaoBean.horaInicial}" id="horarioinicial"   pattern="HH:mm" timeOnly="true" />  

                    <h:outputText value="Horário Final" />
                    <p:calendar label="Horário Final" value="#{excessaoBean.horaFinal}" id="horariofinal"  pattern="HH:mm" timeOnly="true" />  
                </h:panelGrid>
                <p:commandButton id="btPesquisarDoutorPorNome" value="Pesquisar" update="formPesquisaExcessao"  />
                <p:dataTable id="doutores" var="excessao" value="#{excessaoBean.filtraExcessaoPorParametros}" rowKey="#{excessao.idExcessao}"  
                             selection="#{excessaoBean.excessao}" selectionMode="single" emptyMessage="Nenhuma excessão encontrado, lembre-se que não é possível pesquisar por dia da semana e data ao mesmo tempo">  

                    <f:facet name="header">  
                        Selecione alguma Excessão para edição ou exclusão  
                    </f:facet>  

                    <p:column headerText="Doutor" width="300">  
                        #{excessao.codDoutor}  
                    </p:column>  

                    <p:column headerText="Data" width="40">  
                        #{excessao.dataFormatada}  
                    </p:column>  

                    <p:column headerText="Dia da Semana" width="80">  
                        #{excessao.dia_semana}  
                    </p:column>  
                    <p:column headerText="Horário" width="40">  
                        #{excessao.horaFormatada}  
                    </p:column> 

                    <f:facet name="footer">  
                        <p:commandButton id="viewButtonExcessao" value="OK" icon="ui-icon-search"  update=":formExcessao, :formBotoesExcessao" onclick="excessaoDialog.hide()" />  
                    </f:facet>  

                </p:dataTable> 

            </h:form>
        </p:dialog> 


    </h:body>

</html>
